﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JshRCSWebApi.Infrastructure.Domain.VO.SysService
{
    public class GetRouterMenuVO
    {
        /// <summary>
        /// 菜单ID
        /// </summary>
        public long menuId { get; set; }

        /// <summary>
        /// 构成
        /// </summary>
        public string component { get; set; } = string.Empty;

        /// <summary>
        /// 路径
        /// </summary>
        public string path { get; set; } = string.Empty;

        /// <summary>
        /// 路径
        /// </summary>
        public string redirect { get; set; } = string.Empty;

        /// <summary>
        /// 名称
        /// </summary>
        public string name { get; set; } = string.Empty;

        /// <summary>
        /// 主题
        /// </summary>
        public string title { get; set; } = string.Empty;

        /// <summary>
        /// 图标
        /// </summary>
        public string icon { get; set; } = string.Empty;

        /// <summary>
        /// 父级ID
        /// </summary>
        public string parentId { get; set; } = string.Empty;

        /// <summary>
        /// 是叶子还是根（Y/N）
        /// </summary>
        public string isLeaf { get; set; } = string.Empty;

        /// <summary>
        /// 是否隐藏
        /// </summary>
        public bool hidden { get; set; } = false;

        /// <summary>
        /// 子集
        /// </summary>
        public List<GetRouterMenuVO> children { get; set; } = new List<GetRouterMenuVO>();

        /// <summary>
        /// 名称集
        /// </summary>
        public MetaEntity meta { get; set; } = new MetaEntity();
    }

    public class MetaEntity
    {
        /// <summary>
        /// 图标
        /// </summary>
        public string icon { get; set; } = string.Empty;

        /// <summary>
        /// 主题
        /// </summary>
        public string title { get; set; } = string.Empty;

        /// <summary>
        /// 构成
        /// </summary>
        public string component { get; set; } = string.Empty;
    }
}
